package com.designPattern.facade;

/**
 * 【外观模式】
 * 解决问题：解决了需要调用一个系统中的多个子类的方法时候的调用问题
 * 如果单独调用每一个子类的方法，不仅麻烦，而且还会暴露子类细节，使用的时候要同时创建多个子类，调用多个方法
 * 对client不友好
 * 【解决方案】将系统中的多个子类聚合/组合到一个系统类中，由系统同一创建子类和调用子类的方法
 * 那么clint端就可以直接调用系统中的方法可以实现对多个子类方法的调用，也不会暴露细节
 */
public class Client {
    public static void main(String[] args) {
        HomeController homeController = new HomeController();
        homeController.on();
        System.out.println("==============================");
        homeController.off();
        System.out.println("==============================");
        homeController.work();
    }
}
